package com.catazzz.springbootstudy.common.rabbit;

import lombok.extern.slf4j.Slf4j;
import org.springframework.amqp.rabbit.annotation.Queue;
import org.springframework.amqp.rabbit.annotation.RabbitHandler;
import org.springframework.amqp.rabbit.annotation.RabbitListener;
import org.springframework.stereotype.Component;

/**
 * @作者: Tao
 * @日期: 2025/1/9
 * @时间: 10:31
 * @描述: HelloConsumer 类用于监听和消费 RabbitMQ 中名为 "hello" 的队列中的消息<br><pre>
 *
 *     该类使用 @RabbitListener 注解来声明它感兴趣的队列
 */
@Slf4j
@Component
@RabbitListener(queuesToDeclare = @Queue("hello"))
public class HelloConsumer {

    /**
     * 当 "hello" 队列中有消息到达时，此方法将被调用以处理消息
     * 它使用 @RabbitHandler 注解来指定这是一个消息处理方法
     *
     * @param message 接收到的消息内容
     */
    @RabbitHandler
    public void receive(String message) {
        log.info("receive message: {}", message);
    }
}

